用法:
def 遞迴函式 ( ) :
函式內程式碼
if 遞迴終止的條件:
return 與遞迴函式本身無關的資料
else :
return 遞迴函式 ( )
例1. 階乘
n !
= n * ( n - 1 ) !
= n * ( n - 1 ) ! * ( n - 2 ) !
……
= n * ( n - 1 ) ! * ( n - 2 ) ! * ……. 1 !
def fact(m):
if m == 0 or m == 1:
return 1
else:
return m * fact(m - 1)
num = 6
print(fact(num))
# 720
def fact(m):
ans = 1
for i in range(1, m + 1):
ans *= i
return ans
num = 6
print(fact(6))
# 720
遞迴 | 迴圈 | |
---|---|---|
程式碼 | 簡潔易懂 | 較為冗長 |
空間效率 | 較佔空間 | 較不佔空間 |
時間效率 | 費時 | 省時 |
整理: